1. Field of the Invention
The invention relates to techniques of transferring data packets over a wide area network in a fast and reliable manner.
2. Description of the Related Art
As is well known, the Internet is a network which is configured by interconnecting various kinds of networks managed by different telecommunication carriers, using communication protocols which cannot always maintain a desired communication bandwidth or a desired quality of service.
In contrast, owing to the recent development of cloud computing services and wide area network Ethernet (registered trademark) services, it has been more popular that communication devices (e.g., data terminal equipment DTE or terminals, such as PCs, cell phones or smart phones, or servers, etc.) communicate with each other via a wide area network. In general, a desired communication bandwidth and a desired quality of service are guaranteed in a wide area network which is operated by a particular carrier, on a per-contracted-bandwidth basis.
In this regard, the “wide area network” refers to, not limiting, for example, a wide area Ethernet network, which is a mesh network employing closed networking technologies and VLAN (Virtual LAN (Local Area Network)) technologies, to provide high security enough to be comparable to that of dedicated or licensed lines.
In such a wide area network, a service level agreement is made between a customer and a service provider, with respect to delay, availability (including, for example, access line multiplexing), time to recovery or the like.
Consequently, such a highly secured network is featured in that a highly reliable protocol such as a TCP (Transmission Control Protocol) is not required to play an important role, and that, because such a network can make a multipoint connection, high flexibility is provided in altering the configuration of an intra network.
In the Internet, a TCP can be used which represents all of possible data transfer protocols for IP (Internet Protocol) packets. The TCP provides highly reliable data transmission, by allowing a receiver, if it has correctly received a data packet from a sender, to send back an acknowledgement to the sender, and allowing the sender, if it does not receive an acknowledgement before it timeouts, to re-transmit the same data packet to the receiver until the sender receives an acknowledgement, to thereby assure arrival of every and each data packet even if packet loss occurs.
A technique is known of operating sender-side and receiver-side data transfer devices for use in relaying data packets between them, such that the sender-side data transfer device, if the receiver has correctly received a pre-selected total number of data packets from the sender, to send an acknowledgement to the sender, to thereby improve the throughput of data packets transmitted from the sender (see, for example, Patent Document No. 1 below).
This technique allows the receiver-side data transfer device to notify the sender-side data transfer device of how many data packets the receiver-side data transfer device can receive or buffer (which relates to the degree of congestion), to thereby allow the sender-side data transfer device to control the time at which the next acknowledgement will be sent back to the sender.
Another technique is also known of dynamically controlling a transmission rate of data packets in a data transfer device, based on an RTT (Round Trip Time) and the degree of congestion in an intervening network (see, for example, Patent Document No. 2). This technique allows calculation of a target rate for balancing a particular traffic flow with other traffic flows (e.g., a TCP traffic flow) in determining a transmission rate.
Still another technique is also known of dynamically allocating transmission rates to traffic flows separately, when a data transfer device attempts to transfer a plurality of traffic flows which are combined into a single network path (see, for example, Patent Document No. 3).
An additional technique is also known of operating sender-side and receiver-side data transfer devices for use in relaying data packets between a sender and a receiver, such that the sender-side data transfer device, upon reception of a pause frame from the receiver-side data transfer device, lowers a transmission rate (see, for example, Patent Document No. 4).
A still additional technique is also known of operating a communicating device to determine the length of a data transfer time for each of a plurality of other communication devices, so as to depend on the data transfer rate (see, for example, Patent Document No. 5).
It is noted that another technique is also known in which the number of flows active in a network is controlled so that they can be within a designated bandwidth (by deciding whether to admit a new flow or terminate some of the existing flows) (see, for example, Non-Patent Document No. 1), and that still another technique is also known in which, if a bridge or switch detects traffic congestion, then a traffic flow that has caused the congestion is identified, and the bridge sends a congestion notification to a sender (i.e., an end station) that initiated the identified traffic flow, whereby the sender reduces a transmission rate to relieve congestion (see, for example, Non-Patent Document No. 2). The latter technique is advantageous, because, when a plurality of traffic flows have something to do with the traffic congestion, a transmission rate is lowered for every traffic flow, to thereby create an unused portion within a bandwidth.